package modelo;
// default package
// Generated 25/10/2014 15:59:58 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Domicilio generated by hbm2java
 */
@Entity
@Table(name = "domicilio", catalog = "eventos_compartidos")
public class Domicilio implements java.io.Serializable {

	private Integer idDomicilio;
	private Barrio barrio;
	private String calle;
	private int numero;
	private Integer piso;
	private String departamento;
	private String torre;
	private Date fechaAlta;
	private Date fechaBaja;
	private Set<Salon> salons = new HashSet<Salon>(0);
	private Set<Persona> personas = new HashSet<Persona>(0);
	private Set<Empresa> empresas = new HashSet<Empresa>(0);

	public Domicilio() {
	}

	public Domicilio(String calle, int numero) {
		this.calle = calle;
		this.numero = numero;
	}

	public Domicilio(Barrio barrio, String calle, int numero, Integer piso,
			String departamento, String torre, Date fechaAlta, Date fechaBaja,
			Set<Salon> salons, Set<Persona> personas, Set<Empresa> empresas) {
		this.barrio = barrio;
		this.calle = calle;
		this.numero = numero;
		this.piso = piso;
		this.departamento = departamento;
		this.torre = torre;
		this.fechaAlta = fechaAlta;
		this.fechaBaja = fechaBaja;
		this.salons = salons;
		this.personas = personas;
		this.empresas = empresas;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idDomicilio", unique = true, nullable = false)
	public Integer getIdDomicilio() {
		return this.idDomicilio;
	}

	public void setIdDomicilio(Integer idDomicilio) {
		this.idDomicilio = idDomicilio;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idBarrio")
	public Barrio getBarrio() {
		return this.barrio;
	}

	public void setBarrio(Barrio barrio) {
		this.barrio = barrio;
	}

	@Column(name = "calle", nullable = false, length = 100)
	public String getCalle() {
		return this.calle;
	}

	public void setCalle(String calle) {
		this.calle = calle;
	}

	@Column(name = "numero", nullable = false)
	public int getNumero() {
		return this.numero;
	}

	public void setNumero(int numero) {
		this.numero = numero;
	}

	@Column(name = "piso")
	public Integer getPiso() {
		return this.piso;
	}

	public void setPiso(Integer piso) {
		this.piso = piso;
	}

	@Column(name = "departamento", length = 2)
	public String getDepartamento() {
		return this.departamento;
	}

	public void setDepartamento(String departamento) {
		this.departamento = departamento;
	}

	@Column(name = "torre", length = 10)
	public String getTorre() {
		return this.torre;
	}

	public void setTorre(String torre) {
		this.torre = torre;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fechaAlta", length = 10)
	public Date getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Date fechaAlta) {
		this.fechaAlta = fechaAlta;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fechaBaja", length = 10)
	public Date getFechaBaja() {
		return this.fechaBaja;
	}

	public void setFechaBaja(Date fechaBaja) {
		this.fechaBaja = fechaBaja;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "domicilio")
	public Set<Salon> getSalons() {
		return this.salons;
	}

	public void setSalons(Set<Salon> salons) {
		this.salons = salons;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "domicilio")
	public Set<Persona> getPersonas() {
		return this.personas;
	}

	public void setPersonas(Set<Persona> personas) {
		this.personas = personas;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "domicilio")
	public Set<Empresa> getEmpresas() {
		return this.empresas;
	}

	public void setEmpresas(Set<Empresa> empresas) {
		this.empresas = empresas;
	}

}
